#ifndef MODELPART_H
#define MODELPART_H

#include <string>

#include "ModelBoundingVolume.h"
#include "../Util/Log.h"

class ModelBoundingVolume;

class Modelpart
{
public:
	Modelpart();
	Modelpart(Log *log);
	Modelpart(Log *log, std::string name);
	~Modelpart();

	void SetModelTransformationMatrix(const aiMatrix4x4 &transf);
	void SetDisplayListID(unsigned int id);
	void SetName(const std::string &name);
	void SetBoundingVolume(ModelBoundingVolume *bv);

	const aiMatrix4x4 &GetModelTransformationMatrix();
	unsigned int GetDisplayListID();
	const std::string &GetName();
	ModelBoundingVolume *GetBoundingVolume();

	void Draw();

private:
	Log *errLog;

	aiMatrix4x4 modelTransformation;
	unsigned int displayListID;
	std::string name;
	ModelBoundingVolume *boundingVolume;

};

#endif //MODELPART_H
